<?php
class Aluno{

	private $id;
	private $nome;
	private $matricula;
	private $sexo;
	private $cpf;
	private $rg;
	private $expedidor;
	private $dataNascimento;
	private $campus;
	private $email;
	private $senha;
	
	public function __construct($id = 0,$nome= "" ,$matricula= "" ,$sexo= "" ,$cpf= "" ,$rg= "" ,$expedidor= "" ,$dataNascimento= "" ,$campus= "" ,$email= "" ,$senha= "" ){
		$this->id = $id;
		$this->nome = $nome;
		$this->matricula = $matricula;
		$this->sexo = $sexo;
		$this->cpf = $cpf;
		$this->rg = $rg;
		$this->expedidor = $expedidor;
		$this->dataNascimento = $dataNascimento;
		$this->campus = $campus;
		$this->email = $email;
		$this->senha = $senha;
	}

	public static function construct($array){
		return new Aluno( $array['id'], $array['nome'], $array['matricula'], $array['sexo'], $array['cpf'], $array['rg'], $array['expedidor'], $array['dataNascimento'], $array['campus'], $array['email'], $array['senha']);
	}

	public function getId(){
		return $this->id;
	}

	public function setId($id){
		$this->id=$id;
	}

	public function getNome(){
		return $this->nome;
	}

	public function setNome($nome){
		$this->nome=$nome;
	}

	public function getMatricula(){
		return $this->matricula;
	}

	public function setMatricula($matricula){
		$this->matricula=$matricula;
	}

	public function getSexo(){
		return $this->sexo;
	}

	public function setSexo($sexo){
		$this->sexo=$sexo;
	}

	public function getCpf(){
		return $this->cpf;
	}

	public function setCpf($cpf){
		$this->cpf=$cpf;
	}

	public function getRg(){
		return $this->rg;
	}

	public function setRg($rg){
		$this->rg=$rg;
	}

	public function getExpedidor(){
		return $this->expedidor;
	}

	public function setExpedidor($expedidor){
		$this->expedidor=$expedidor;
	}

	public function getDataNascimento(){
		return $this->dataNascimento;
	}

	public function setDataNascimento($dataNascimento){
		$this->dataNascimento=$dataNascimento;
	}

	public function getCampus(){
		return $this->campus;
	}

	public function setCampus($campus){
		$this->campus=$campus;
	}

	public function getEmail(){
		return $this->email;
	}

	public function setEmail($email){
		$this->email=$email;
	}

	public function getSenha(){
		return $this->senha;
	}

	public function setSenha($senha){
		$this->senha=$senha;
	}
	public function equals($object){
		if($object instanceof Aluno){

			if($this->id!=$object->id){
				return false;
			}

			if($this->nome!=$object->nome){
				return false;
			}

			if($this->matricula!=$object->matricula){
				return false;
			}

			if($this->sexo!=$object->sexo){
				return false;
			}

			if($this->cpf!=$object->cpf){
				return false;

			}

			if($this->rg!=$object->rg){
				return false;
			}

			if($this->expedidor!=$object->expedidor){
				return false;
			}

			if($this->dataNascimento!=$object->dataNascimento){
				return false;
			}

			if($this->campus!=$object->campus){
				return false;
			}

			if($this->email!=$object->email){
				return false;
			}

			if($this->senha!=$object->senha){
				return false;
			}

			return true;

		}
		else{
			return false;
		}

	}
	
	public function toString(){

		return "  [id:" .$this->id. "]  [nome:" .$this->nome. "]  [matricula:" .$this->matricula. "]  [sexo:" .$this->sexo. "]  [cpf:" .$this->cpf. "]  [rg:" .$this->rg. "]  [expedidor:" .$this->expedidor. "]  [dataNascimento:" .$this->dataNascimento. "]  [campus:" .$this->campus. "]  [email:" .$this->email. "]  [senha:" .$this->senha. "]  " ;
	}
	
	public function toArray(){
		$temp =   (array) $this;
		$array = array();
		foreach ($temp as $k => $v){
			$k = preg_match('/^\x00(?:.*?)\x00(.+)/', $k, $matches) ? $matches[1] : $k;
			$array[$k] = $v;
		}
		return  $array;
	}
}
?>